// 动态时间显示
function updateTime() {
  const now = new Date();
  document.getElementById("current-time").textContent = now.toLocaleString();
}
setInterval(updateTime, 1000);
updateTime();

// 初始化地图
function initMap() {
  const map = L.map("map").setView([39.9042, 116.4074], 5); // 默认北京
  L.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png", {
    attribution: "© OpenStreetMap",
  }).addTo(map);

  const fields = [
    { name: "一号田", lat: 39.9042, lng: 116.4074 },
    { name: "二号田", lat: 31.2304, lng: 121.4737 },
  ];
  fields.forEach((f) => {
    L.marker([f.lat, f.lng])
     .addTo(map)
     .bindPopup(`<b>${f.name}</b><br>位置信息`);
  });
  return map;
}

// 模拟环境数据
function simulateData() {
  const data = {
    temp: Math.floor(Math.random() * 10 + 20), // 温度
    humidity: Math.floor(Math.random() * 10 + 60), // 湿度
    soilMoisture: Math.floor(Math.random() * 10 + 40), // 土壤水分
    light: Math.floor(Math.random() * 100 + 400), // 光照强度
  };
  return data;
}

// 更新环境数据显示
function updateSensorData(data) {
  document.getElementById("temp").textContent = `${data.temp}°C`;
  document.getElementById("humidity").textContent = `${data.humidity}%`;
  document.getElementById("soil-moisture").textContent = `${data.soilMoisture}%`;
  document.getElementById("light").textContent = `${data.light} lux`;
}

// 初始化图表
function initCharts() {
  // 温度图表
  const tempChart = echarts.init(document.getElementById("temp-chart"));
  tempChart.setOption({
    tooltip: {},
    xAxis: { data: ["08:00", "10:00", "12:00", "14:00", "16:00"] },
    yAxis: { type: "value" },
    series: [{ type: "line", data: [20, 22, 25, 27, 24] }],
  });

  // 湿度图表
  const humidityChart = echarts.init(document.getElementById("humidity-chart"));
  humidityChart.setOption({
    tooltip: {},
    xAxis: { data: ["08:00", "10:00", "12:00", "14:00", "16:00"] },
    yAxis: { type: "value" },
    series: [{ type: "line", data: [60, 62, 65, 63, 61] }],
  });
}

// 初始化页面
function initPage() {
  initMap();
  initCharts();
  setInterval(() => {
    const newData = simulateData();
    updateSensorData(newData);
  }, 5000);
}

// 调用初始化函数
initPage();